package mainService.data;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;

/**
 * Classe che permette di scrivere l'header della risposta http.
 * 
 * @author Mattia Grecchi, Daniel Procop.
 * 
 */

public class HttpMessageWriter {

	private MimeHTTP mime;

	public HttpMessageWriter(MimeHTTP mime) {
		super();
		this.mime = mime;
	}

	/**
	 * Crea un header http di default
	 * 
	 * @return
	 */
	public ArrayList<String> createHttpMessageHeader() {
		ArrayList<String> risposta = new ArrayList<String>();

		SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy hh:mm:ss");
		Date date = Calendar.getInstance().getTime();

		Collections.addAll(
				risposta,
				"HTTP/1.1 200 OK",
				"Date: " + format.format(date) + " Content-Type: "
						+ mime.getValue() + "; charset=utf-8", "");
		if (mime == MimeHTTP.XML) {
			risposta.add("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
		}

		return risposta;
	}
}
